package usf.gwt.ui.bootstrap.client;

import usf.gwt.ui.bootstrap.client.core.BootstrapContainer;
import usf.gwt.ui.bootstrap.client.core.JqueryUtils;
import usf.gwt.ui.bootstrap.client.core.StyleEnum.HasStyle;

import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;

public class Nav extends BootstrapContainer implements HasStyle<NavStyles> {

    protected Element initWidget() {
        return Document.get().createULElement();
    }
        
    @Override
    protected void initStyle() {
    	getContainerElement().addClassName(NavStyles.DEFAULT_NAV_STYLE);
    }
    @Override
    public void setClassType(NavStyles type) {
    	JqueryUtils.switchClass(getContainerElement(), NavStyles.values(), type);
	}
    @Override
    public NavStyles getClassType() {
    	return (NavStyles) JqueryUtils.hasClass(getElement(), NavStyles.values());
    }
    public void setStacked(boolean stack){
    	JqueryUtils.switchClass(getContainerElement(), NavStyles.NAV_STACKED_STYLE, stack);
    }
    public boolean isStacked() {
    	return JqueryUtils.hasClass(getContainerElement(), NavStyles.NAV_STACKED_STYLE);
	}
    
    public void setActiveUnique() {
    	JqueryUtils.activateUnique(getElement(), false);
	}
    
	public void setCollapsed(boolean collapse) {
		JqueryUtils.collapse(getContainerElement(), collapse);
	}	
	
}
